Field
Embodiments of the present invention generally relate to the field of computer networks. In particular, various embodiments relate to enabling hypertext transfer protocol (HTTP) servers that support prior versions of HTTP to handle HTTP messages associated with one or more subsequent versions of HTTP.
Description of the Related Art
HTTP version 2.0 (HTTP/2) has finally been released 15 years after HTTP version 1.1. HTTP/2 has a lot of technical advantages over HTTP/1.x (referred as to HTTP/1 hereafter), such as multiplexed streams over a single Transmission Control Protocol (TCP) connection and header compression. To achieve the beneficial goals, HTTP/2 adds a new binary framing layer, which is not backward compatible with previous HTTP 1.x servers and clients. Millions of servers must be updated to use the new binary framing layer, and billions of clients must similarly update their browsers and networking libraries. Most modern browsers use efficient background update mechanisms, which will enable HTTP/2 support quickly and with minimal intervention for a large portion of existing users. However, web server upgrades to support HTTP/2 will be much later than the browser side as a result of all kinds of technical and non-technical concerns. Therefore, there is a need for an HTTP proxy to translate between HTTP/2 messages and HTTP/1 messages so that HTTP/2 clients may access HTTP/1 servers.